﻿


using System;
using System.ComponentModel;
using System.Linq;

namespace MvcForum.Net.Business
{
    
    
    
    
    /// <summary>
    /// A class which represents the MF_Moderators table in the Main Database.
    /// This class is queryable through MainDB.Moderator 
    /// </summary>

	public partial class Moderator: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public Moderator(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnModIdChanging(int value);
        partial void OnModIdChanged();
		
		private int _ModId;
		public int ModId { 
		    get{
		        return _ModId;
		    } 
		    set{
		        this.OnModIdChanging(value);
                this.SendPropertyChanging();
                this._ModId = value;
                this.SendPropertyChanged("ModId");
                this.OnModIdChanged();
		    }
		}
		
        partial void OnUserIdChanging(int value);
        partial void OnUserIdChanged();
		
		private int _UserId;
		public int UserId { 
		    get{
		        return _UserId;
		    } 
		    set{
		        this.OnUserIdChanging(value);
                this.SendPropertyChanging();
                this._UserId = value;
                this.SendPropertyChanged("UserId");
                this.OnUserIdChanged();
		    }
		}
		
        partial void OnForumIdChanging(int value);
        partial void OnForumIdChanged();
		
		private int _ForumId;
		public int ForumId { 
		    get{
		        return _ForumId;
		    } 
		    set{
		        this.OnForumIdChanging(value);
                this.SendPropertyChanging();
                this._ForumId = value;
                this.SendPropertyChanged("ForumId");
                this.OnForumIdChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_Tags table in the Main Database.
    /// This class is queryable through MainDB.Tag 
    /// </summary>

	public partial class Tag: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public Tag(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnIdChanging(int value);
        partial void OnIdChanged();
		
		private int _Id;
		public int Id { 
		    get{
		        return _Id;
		    } 
		    set{
		        this.OnIdChanging(value);
                this.SendPropertyChanging();
                this._Id = value;
                this.SendPropertyChanged("Id");
                this.OnIdChanged();
		    }
		}
		
        partial void OnTagXChanging(string value);
        partial void OnTagXChanged();
		
		private string _TagX;
		public string TagX { 
		    get{
		        return _TagX;
		    } 
		    set{
		        this.OnTagXChanging(value);
                this.SendPropertyChanging();
                this._TagX = value;
                this.SendPropertyChanged("TagX");
                this.OnTagXChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_Topics table in the Main Database.
    /// This class is queryable through MainDB.Topic 
    /// </summary>

	public partial class Topic: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public Topic(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnTopicIdChanging(int value);
        partial void OnTopicIdChanged();
		
		private int _TopicId;
		public int TopicId { 
		    get{
		        return _TopicId;
		    } 
		    set{
		        this.OnTopicIdChanging(value);
                this.SendPropertyChanging();
                this._TopicId = value;
                this.SendPropertyChanged("TopicId");
                this.OnTopicIdChanged();
		    }
		}
		
        partial void OnTopicNameChanging(string value);
        partial void OnTopicNameChanged();
		
		private string _TopicName;
		public string TopicName { 
		    get{
		        return _TopicName;
		    } 
		    set{
		        this.OnTopicNameChanging(value);
                this.SendPropertyChanging();
                this._TopicName = value;
                this.SendPropertyChanged("TopicName");
                this.OnTopicNameChanged();
		    }
		}
		
        partial void OnForumIdChanging(int value);
        partial void OnForumIdChanged();
		
		private int _ForumId;
		public int ForumId { 
		    get{
		        return _ForumId;
		    } 
		    set{
		        this.OnForumIdChanging(value);
                this.SendPropertyChanging();
                this._ForumId = value;
                this.SendPropertyChanged("ForumId");
                this.OnForumIdChanged();
		    }
		}
		
        partial void OnPollIDChanging(int? value);
        partial void OnPollIDChanged();
		
		private int? _PollID;
		public int? PollID { 
		    get{
		        return _PollID;
		    } 
		    set{
		        this.OnPollIDChanging(value);
                this.SendPropertyChanging();
                this._PollID = value;
                this.SendPropertyChanged("PollID");
                this.OnPollIDChanged();
		    }
		}
		
        partial void OnIconChanging(string value);
        partial void OnIconChanged();
		
		private string _Icon;
		public string Icon { 
		    get{
		        return _Icon;
		    } 
		    set{
		        this.OnIconChanging(value);
                this.SendPropertyChanging();
                this._Icon = value;
                this.SendPropertyChanged("Icon");
                this.OnIconChanged();
		    }
		}
		
        partial void OnMessageChanging(string value);
        partial void OnMessageChanged();
		
		private string _Message;
		public string Message { 
		    get{
		        return _Message;
		    } 
		    set{
		        this.OnMessageChanging(value);
                this.SendPropertyChanging();
                this._Message = value;
                this.SendPropertyChanged("Message");
                this.OnMessageChanged();
		    }
		}
		
        partial void OnReplyToChanging(int? value);
        partial void OnReplyToChanged();
		
		private int? _ReplyTo;
		public int? ReplyTo { 
		    get{
		        return _ReplyTo;
		    } 
		    set{
		        this.OnReplyToChanging(value);
                this.SendPropertyChanging();
                this._ReplyTo = value;
                this.SendPropertyChanged("ReplyTo");
                this.OnReplyToChanged();
		    }
		}
		
        partial void OnPriorityChanging(byte value);
        partial void OnPriorityChanged();
		
		private byte _Priority;
		public byte Priority { 
		    get{
		        return _Priority;
		    } 
		    set{
		        this.OnPriorityChanging(value);
                this.SendPropertyChanging();
                this._Priority = value;
                this.SendPropertyChanged("Priority");
                this.OnPriorityChanged();
		    }
		}
		
        partial void OnPriorityDateChanging(DateTime? value);
        partial void OnPriorityDateChanged();
		
		private DateTime? _PriorityDate;
		public DateTime? PriorityDate { 
		    get{
		        return _PriorityDate;
		    } 
		    set{
		        this.OnPriorityDateChanging(value);
                this.SendPropertyChanging();
                this._PriorityDate = value;
                this.SendPropertyChanged("PriorityDate");
                this.OnPriorityDateChanged();
		    }
		}
		
        partial void OnIsApprovedChanging(bool value);
        partial void OnIsApprovedChanged();
		
		private bool _IsApproved;
		public bool IsApproved { 
		    get{
		        return _IsApproved;
		    } 
		    set{
		        this.OnIsApprovedChanging(value);
                this.SendPropertyChanging();
                this._IsApproved = value;
                this.SendPropertyChanged("IsApproved");
                this.OnIsApprovedChanged();
		    }
		}
		
        partial void OnTotalViewsChanging(int value);
        partial void OnTotalViewsChanged();
		
		private int _TotalViews;
		public int TotalViews { 
		    get{
		        return _TotalViews;
		    } 
		    set{
		        this.OnTotalViewsChanging(value);
                this.SendPropertyChanging();
                this._TotalViews = value;
                this.SendPropertyChanged("TotalViews");
                this.OnTotalViewsChanged();
		    }
		}
		
        partial void OnTotalRepliesChanging(int value);
        partial void OnTotalRepliesChanged();
		
		private int _TotalReplies;
		public int TotalReplies { 
		    get{
		        return _TotalReplies;
		    } 
		    set{
		        this.OnTotalRepliesChanging(value);
                this.SendPropertyChanging();
                this._TotalReplies = value;
                this.SendPropertyChanged("TotalReplies");
                this.OnTotalRepliesChanged();
		    }
		}
		
        partial void OnIsDeletedChanging(bool value);
        partial void OnIsDeletedChanged();
		
		private bool _IsDeleted;
		public bool IsDeleted { 
		    get{
		        return _IsDeleted;
		    } 
		    set{
		        this.OnIsDeletedChanging(value);
                this.SendPropertyChanging();
                this._IsDeleted = value;
                this.SendPropertyChanged("IsDeleted");
                this.OnIsDeletedChanged();
		    }
		}
		
        partial void OnIsLockedChanging(bool value);
        partial void OnIsLockedChanged();
		
		private bool _IsLocked;
		public bool IsLocked { 
		    get{
		        return _IsLocked;
		    } 
		    set{
		        this.OnIsLockedChanging(value);
                this.SendPropertyChanging();
                this._IsLocked = value;
                this.SendPropertyChanged("IsLocked");
                this.OnIsLockedChanged();
		    }
		}
		
        partial void OnRemoteUrlChanging(string value);
        partial void OnRemoteUrlChanged();
		
		private string _RemoteUrl;
		public string RemoteUrl { 
		    get{
		        return _RemoteUrl;
		    } 
		    set{
		        this.OnRemoteUrlChanging(value);
                this.SendPropertyChanging();
                this._RemoteUrl = value;
                this.SendPropertyChanged("RemoteUrl");
                this.OnRemoteUrlChanged();
		    }
		}
		
        partial void OnCreatedChanging(DateTime value);
        partial void OnCreatedChanged();
		
		private DateTime _Created;
		public DateTime Created { 
		    get{
		        return _Created;
		    } 
		    set{
		        this.OnCreatedChanging(value);
                this.SendPropertyChanging();
                this._Created = value;
                this.SendPropertyChanged("Created");
                this.OnCreatedChanged();
		    }
		}
		
        partial void OnMovedToForumIdChanging(int? value);
        partial void OnMovedToForumIdChanged();
		
		private int? _MovedToForumId;
		public int? MovedToForumId { 
		    get{
		        return _MovedToForumId;
		    } 
		    set{
		        this.OnMovedToForumIdChanging(value);
                this.SendPropertyChanging();
                this._MovedToForumId = value;
                this.SendPropertyChanged("MovedToForumId");
                this.OnMovedToForumIdChanged();
		    }
		}
		
        partial void OnLastEditedChanging(DateTime? value);
        partial void OnLastEditedChanged();
		
		private DateTime? _LastEdited;
		public DateTime? LastEdited { 
		    get{
		        return _LastEdited;
		    } 
		    set{
		        this.OnLastEditedChanging(value);
                this.SendPropertyChanging();
                this._LastEdited = value;
                this.SendPropertyChanged("LastEdited");
                this.OnLastEditedChanged();
		    }
		}
		
        partial void OnEditedByChanging(string value);
        partial void OnEditedByChanged();
		
		private string _EditedBy;
		public string EditedBy { 
		    get{
		        return _EditedBy;
		    } 
		    set{
		        this.OnEditedByChanging(value);
                this.SendPropertyChanging();
                this._EditedBy = value;
                this.SendPropertyChanged("EditedBy");
                this.OnEditedByChanged();
		    }
		}
		
        partial void OnIPChanging(string value);
        partial void OnIPChanged();
		
		private string _IP;
		public string IP { 
		    get{
		        return _IP;
		    } 
		    set{
		        this.OnIPChanging(value);
                this.SendPropertyChanging();
                this._IP = value;
                this.SendPropertyChanged("IP");
                this.OnIPChanged();
		    }
		}
		
        partial void OnTagsChanging(string value);
        partial void OnTagsChanged();
		
		private string _Tags;
		public string Tags { 
		    get{
		        return _Tags;
		    } 
		    set{
		        this.OnTagsChanging(value);
                this.SendPropertyChanging();
                this._Tags = value;
                this.SendPropertyChanged("Tags");
                this.OnTagsChanged();
		    }
		}
		
        partial void OnUserIdChanging(int value);
        partial void OnUserIdChanged();
		
		private int _UserId;
		public int UserId { 
		    get{
		        return _UserId;
		    } 
		    set{
		        this.OnUserIdChanging(value);
                this.SendPropertyChanging();
                this._UserId = value;
                this.SendPropertyChanged("UserId");
                this.OnUserIdChanged();
		    }
		}
		
        partial void OnUserNameChanging(string value);
        partial void OnUserNameChanged();
		
		private string _UserName;
		public string UserName { 
		    get{
		        return _UserName;
		    } 
		    set{
		        this.OnUserNameChanging(value);
                this.SendPropertyChanging();
                this._UserName = value;
                this.SendPropertyChanged("UserName");
                this.OnUserNameChanged();
		    }
		}
		
        partial void OnLastPostedChanging(DateTime value);
        partial void OnLastPostedChanged();
		
		private DateTime _LastPosted;
		public DateTime LastPosted { 
		    get{
		        return _LastPosted;
		    } 
		    set{
		        this.OnLastPostedChanging(value);
                this.SendPropertyChanging();
                this._LastPosted = value;
                this.SendPropertyChanged("LastPosted");
                this.OnLastPostedChanged();
		    }
		}
		
        partial void OnLastPostIdChanging(int? value);
        partial void OnLastPostIdChanged();
		
		private int? _LastPostId;
		public int? LastPostId { 
		    get{
		        return _LastPostId;
		    } 
		    set{
		        this.OnLastPostIdChanging(value);
                this.SendPropertyChanging();
                this._LastPostId = value;
                this.SendPropertyChanged("LastPostId");
                this.OnLastPostIdChanged();
		    }
		}
		
        partial void OnLastUserIdChanging(int? value);
        partial void OnLastUserIdChanged();
		
		private int? _LastUserId;
		public int? LastUserId { 
		    get{
		        return _LastUserId;
		    } 
		    set{
		        this.OnLastUserIdChanging(value);
                this.SendPropertyChanging();
                this._LastUserId = value;
                this.SendPropertyChanged("LastUserId");
                this.OnLastUserIdChanged();
		    }
		}
		
        partial void OnLastUserNameChanging(string value);
        partial void OnLastUserNameChanged();
		
		private string _LastUserName;
		public string LastUserName { 
		    get{
		        return _LastUserName;
		    } 
		    set{
		        this.OnLastUserNameChanging(value);
                this.SendPropertyChanging();
                this._LastUserName = value;
                this.SendPropertyChanged("LastUserName");
                this.OnLastUserNameChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_Languages table in the Main Database.
    /// This class is queryable through MainDB.Language 
    /// </summary>

	public partial class Language: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public Language(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnLangIdChanging(string value);
        partial void OnLangIdChanged();
		
		private string _LangId;
		public string LangId { 
		    get{
		        return _LangId;
		    } 
		    set{
		        this.OnLangIdChanging(value);
                this.SendPropertyChanging();
                this._LangId = value;
                this.SendPropertyChanged("LangId");
                this.OnLangIdChanged();
		    }
		}
		
        partial void OnLangNameChanging(string value);
        partial void OnLangNameChanged();
		
		private string _LangName;
		public string LangName { 
		    get{
		        return _LangName;
		    } 
		    set{
		        this.OnLangNameChanging(value);
                this.SendPropertyChanging();
                this._LangName = value;
                this.SendPropertyChanged("LangName");
                this.OnLangNameChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_Subscriptions table in the Main Database.
    /// This class is queryable through MainDB.Subscription 
    /// </summary>

	public partial class Subscription: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public Subscription(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnSubIdChanging(int value);
        partial void OnSubIdChanged();
		
		private int _SubId;
		public int SubId { 
		    get{
		        return _SubId;
		    } 
		    set{
		        this.OnSubIdChanging(value);
                this.SendPropertyChanging();
                this._SubId = value;
                this.SendPropertyChanged("SubId");
                this.OnSubIdChanged();
		    }
		}
		
        partial void OnForumIdChanging(int? value);
        partial void OnForumIdChanged();
		
		private int? _ForumId;
		public int? ForumId { 
		    get{
		        return _ForumId;
		    } 
		    set{
		        this.OnForumIdChanging(value);
                this.SendPropertyChanging();
                this._ForumId = value;
                this.SendPropertyChanged("ForumId");
                this.OnForumIdChanged();
		    }
		}
		
        partial void OnTopicIdChanging(int? value);
        partial void OnTopicIdChanged();
		
		private int? _TopicId;
		public int? TopicId { 
		    get{
		        return _TopicId;
		    } 
		    set{
		        this.OnTopicIdChanging(value);
                this.SendPropertyChanging();
                this._TopicId = value;
                this.SendPropertyChanged("TopicId");
                this.OnTopicIdChanged();
		    }
		}
		
        partial void OnUserIdChanging(int? value);
        partial void OnUserIdChanged();
		
		private int? _UserId;
		public int? UserId { 
		    get{
		        return _UserId;
		    } 
		    set{
		        this.OnUserIdChanging(value);
                this.SendPropertyChanging();
                this._UserId = value;
                this.SendPropertyChanged("UserId");
                this.OnUserIdChanged();
		    }
		}
		
        partial void OnNotificationTypeChanging(short value);
        partial void OnNotificationTypeChanged();
		
		private short _NotificationType;
		public short NotificationType { 
		    get{
		        return _NotificationType;
		    } 
		    set{
		        this.OnNotificationTypeChanging(value);
                this.SendPropertyChanging();
                this._NotificationType = value;
                this.SendPropertyChanged("NotificationType");
                this.OnNotificationTypeChanged();
		    }
		}
		
        partial void OnCreatedChanging(DateTime value);
        partial void OnCreatedChanged();
		
		private DateTime _Created;
		public DateTime Created { 
		    get{
		        return _Created;
		    } 
		    set{
		        this.OnCreatedChanging(value);
                this.SendPropertyChanging();
                this._Created = value;
                this.SendPropertyChanged("Created");
                this.OnCreatedChanged();
		    }
		}
		
        partial void OnLastEmailChanging(DateTime? value);
        partial void OnLastEmailChanged();
		
		private DateTime? _LastEmail;
		public DateTime? LastEmail { 
		    get{
		        return _LastEmail;
		    } 
		    set{
		        this.OnLastEmailChanging(value);
                this.SendPropertyChanging();
                this._LastEmail = value;
                this.SendPropertyChanged("LastEmail");
                this.OnLastEmailChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_Smiles table in the Main Database.
    /// This class is queryable through MainDB.Smile 
    /// </summary>

	public partial class Smile: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public Smile(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnIdChanging(int value);
        partial void OnIdChanged();
		
		private int _Id;
		public int Id { 
		    get{
		        return _Id;
		    } 
		    set{
		        this.OnIdChanging(value);
                this.SendPropertyChanging();
                this._Id = value;
                this.SendPropertyChanged("Id");
                this.OnIdChanged();
		    }
		}
		
        partial void OnIconChanging(string value);
        partial void OnIconChanged();
		
		private string _Icon;
		public string Icon { 
		    get{
		        return _Icon;
		    } 
		    set{
		        this.OnIconChanging(value);
                this.SendPropertyChanging();
                this._Icon = value;
                this.SendPropertyChanged("Icon");
                this.OnIconChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_PrivateMessages table in the Main Database.
    /// This class is queryable through MainDB.PrivateMessage 
    /// </summary>

	public partial class PrivateMessage: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public PrivateMessage(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnPMIdChanging(int value);
        partial void OnPMIdChanged();
		
		private int _PMId;
		public int PMId { 
		    get{
		        return _PMId;
		    } 
		    set{
		        this.OnPMIdChanging(value);
                this.SendPropertyChanging();
                this._PMId = value;
                this.SendPropertyChanged("PMId");
                this.OnPMIdChanged();
		    }
		}
		
        partial void OnFromChanging(int value);
        partial void OnFromChanged();
		
		private int _From;
		public int From { 
		    get{
		        return _From;
		    } 
		    set{
		        this.OnFromChanging(value);
                this.SendPropertyChanging();
                this._From = value;
                this.SendPropertyChanged("From");
                this.OnFromChanged();
		    }
		}
		
        partial void OnToChanging(int value);
        partial void OnToChanged();
		
		private int _To;
		public int To { 
		    get{
		        return _To;
		    } 
		    set{
		        this.OnToChanging(value);
                this.SendPropertyChanging();
                this._To = value;
                this.SendPropertyChanged("To");
                this.OnToChanged();
		    }
		}
		
        partial void OnSubjectChanging(string value);
        partial void OnSubjectChanged();
		
		private string _Subject;
		public string Subject { 
		    get{
		        return _Subject;
		    } 
		    set{
		        this.OnSubjectChanging(value);
                this.SendPropertyChanging();
                this._Subject = value;
                this.SendPropertyChanged("Subject");
                this.OnSubjectChanged();
		    }
		}
		
        partial void OnMessageChanging(string value);
        partial void OnMessageChanged();
		
		private string _Message;
		public string Message { 
		    get{
		        return _Message;
		    } 
		    set{
		        this.OnMessageChanging(value);
                this.SendPropertyChanging();
                this._Message = value;
                this.SendPropertyChanged("Message");
                this.OnMessageChanged();
		    }
		}
		
        partial void OnCreatedChanging(DateTime value);
        partial void OnCreatedChanged();
		
		private DateTime _Created;
		public DateTime Created { 
		    get{
		        return _Created;
		    } 
		    set{
		        this.OnCreatedChanging(value);
                this.SendPropertyChanging();
                this._Created = value;
                this.SendPropertyChanged("Created");
                this.OnCreatedChanged();
		    }
		}
		
        partial void OnFolderChanging(short? value);
        partial void OnFolderChanged();
		
		private short? _Folder;
		public short? Folder { 
		    get{
		        return _Folder;
		    } 
		    set{
		        this.OnFolderChanging(value);
                this.SendPropertyChanging();
                this._Folder = value;
                this.SendPropertyChanged("Folder");
                this.OnFolderChanged();
		    }
		}
		
        partial void OnIsReadChanging(bool value);
        partial void OnIsReadChanged();
		
		private bool _IsRead;
		public bool IsRead { 
		    get{
		        return _IsRead;
		    } 
		    set{
		        this.OnIsReadChanging(value);
                this.SendPropertyChanging();
                this._IsRead = value;
                this.SendPropertyChanged("IsRead");
                this.OnIsReadChanged();
		    }
		}
		
        partial void OnReadReceiptChanging(bool value);
        partial void OnReadReceiptChanged();
		
		private bool _ReadReceipt;
		public bool ReadReceipt { 
		    get{
		        return _ReadReceipt;
		    } 
		    set{
		        this.OnReadReceiptChanging(value);
                this.SendPropertyChanging();
                this._ReadReceipt = value;
                this.SendPropertyChanged("ReadReceipt");
                this.OnReadReceiptChanged();
		    }
		}
		
        partial void OnDeletedFromInboxChanging(bool value);
        partial void OnDeletedFromInboxChanged();
		
		private bool _DeletedFromInbox;
		public bool DeletedFromInbox { 
		    get{
		        return _DeletedFromInbox;
		    } 
		    set{
		        this.OnDeletedFromInboxChanging(value);
                this.SendPropertyChanging();
                this._DeletedFromInbox = value;
                this.SendPropertyChanged("DeletedFromInbox");
                this.OnDeletedFromInboxChanged();
		    }
		}
		
        partial void OnDeletedFromSendItemsChanging(bool value);
        partial void OnDeletedFromSendItemsChanged();
		
		private bool _DeletedFromSendItems;
		public bool DeletedFromSendItems { 
		    get{
		        return _DeletedFromSendItems;
		    } 
		    set{
		        this.OnDeletedFromSendItemsChanging(value);
                this.SendPropertyChanging();
                this._DeletedFromSendItems = value;
                this.SendPropertyChanged("DeletedFromSendItems");
                this.OnDeletedFromSendItemsChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_Polls table in the Main Database.
    /// This class is queryable through MainDB.Poll 
    /// </summary>

	public partial class Poll: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public Poll(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnPollIdChanging(int value);
        partial void OnPollIdChanged();
		
		private int _PollId;
		public int PollId { 
		    get{
		        return _PollId;
		    } 
		    set{
		        this.OnPollIdChanging(value);
                this.SendPropertyChanging();
                this._PollId = value;
                this.SendPropertyChanged("PollId");
                this.OnPollIdChanged();
		    }
		}
		
        partial void OnQuestionChanging(string value);
        partial void OnQuestionChanged();
		
		private string _Question;
		public string Question { 
		    get{
		        return _Question;
		    } 
		    set{
		        this.OnQuestionChanging(value);
                this.SendPropertyChanging();
                this._Question = value;
                this.SendPropertyChanged("Question");
                this.OnQuestionChanged();
		    }
		}
		
        partial void OnEndDateChanging(DateTime? value);
        partial void OnEndDateChanged();
		
		private DateTime? _EndDate;
		public DateTime? EndDate { 
		    get{
		        return _EndDate;
		    } 
		    set{
		        this.OnEndDateChanging(value);
                this.SendPropertyChanging();
                this._EndDate = value;
                this.SendPropertyChanged("EndDate");
                this.OnEndDateChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_PollAnswers table in the Main Database.
    /// This class is queryable through MainDB.PollAnswer 
    /// </summary>

	public partial class PollAnswer: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public PollAnswer(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnAnswerIdChanging(int value);
        partial void OnAnswerIdChanged();
		
		private int _AnswerId;
		public int AnswerId { 
		    get{
		        return _AnswerId;
		    } 
		    set{
		        this.OnAnswerIdChanging(value);
                this.SendPropertyChanging();
                this._AnswerId = value;
                this.SendPropertyChanged("AnswerId");
                this.OnAnswerIdChanged();
		    }
		}
		
        partial void OnAnswerChanging(string value);
        partial void OnAnswerChanged();
		
		private string _Answer;
		public string Answer { 
		    get{
		        return _Answer;
		    } 
		    set{
		        this.OnAnswerChanging(value);
                this.SendPropertyChanging();
                this._Answer = value;
                this.SendPropertyChanged("Answer");
                this.OnAnswerChanged();
		    }
		}
		
        partial void OnPollIdChanging(int value);
        partial void OnPollIdChanged();
		
		private int _PollId;
		public int PollId { 
		    get{
		        return _PollId;
		    } 
		    set{
		        this.OnPollIdChanging(value);
                this.SendPropertyChanging();
                this._PollId = value;
                this.SendPropertyChanged("PollId");
                this.OnPollIdChanged();
		    }
		}
		
        partial void OnVotesChanging(int? value);
        partial void OnVotesChanged();
		
		private int? _Votes;
		public int? Votes { 
		    get{
		        return _Votes;
		    } 
		    set{
		        this.OnVotesChanging(value);
                this.SendPropertyChanging();
                this._Votes = value;
                this.SendPropertyChanged("Votes");
                this.OnVotesChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_TimeZones table in the Main Database.
    /// This class is queryable through MainDB.TimeZone 
    /// </summary>

	public partial class TimeZone: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public TimeZone(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnTimeZoneIdChanging(int value);
        partial void OnTimeZoneIdChanged();
		
		private int _TimeZoneId;
		public int TimeZoneId { 
		    get{
		        return _TimeZoneId;
		    } 
		    set{
		        this.OnTimeZoneIdChanging(value);
                this.SendPropertyChanging();
                this._TimeZoneId = value;
                this.SendPropertyChanged("TimeZoneId");
                this.OnTimeZoneIdChanged();
		    }
		}
		
        partial void OnOffsetChanging(double? value);
        partial void OnOffsetChanged();
		
		private double? _Offset;
		public double? Offset { 
		    get{
		        return _Offset;
		    } 
		    set{
		        this.OnOffsetChanging(value);
                this.SendPropertyChanging();
                this._Offset = value;
                this.SendPropertyChanged("Offset");
                this.OnOffsetChanged();
		    }
		}
		
        partial void OnZoneNameChanging(string value);
        partial void OnZoneNameChanged();
		
		private string _ZoneName;
		public string ZoneName { 
		    get{
		        return _ZoneName;
		    } 
		    set{
		        this.OnZoneNameChanging(value);
                this.SendPropertyChanging();
                this._ZoneName = value;
                this.SendPropertyChanged("ZoneName");
                this.OnZoneNameChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_Forums table in the Main Database.
    /// This class is queryable through MainDB.Forum 
    /// </summary>

	public partial class Forum: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public Forum(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnForumIdChanging(int value);
        partial void OnForumIdChanged();
		
		private int _ForumId;
		public int ForumId { 
		    get{
		        return _ForumId;
		    } 
		    set{
		        this.OnForumIdChanging(value);
                this.SendPropertyChanging();
                this._ForumId = value;
                this.SendPropertyChanged("ForumId");
                this.OnForumIdChanged();
		    }
		}
		
        partial void OnForumNameChanging(string value);
        partial void OnForumNameChanged();
		
		private string _ForumName;
		public string ForumName { 
		    get{
		        return _ForumName;
		    } 
		    set{
		        this.OnForumNameChanging(value);
                this.SendPropertyChanging();
                this._ForumName = value;
                this.SendPropertyChanged("ForumName");
                this.OnForumNameChanged();
		    }
		}
		
        partial void OnParentIdChanging(int value);
        partial void OnParentIdChanged();
		
		private int _ParentId;
		public int ParentId { 
		    get{
		        return _ParentId;
		    } 
		    set{
		        this.OnParentIdChanging(value);
                this.SendPropertyChanging();
                this._ParentId = value;
                this.SendPropertyChanged("ParentId");
                this.OnParentIdChanged();
		    }
		}
		
        partial void OnKeywordsChanging(string value);
        partial void OnKeywordsChanged();
		
		private string _Keywords;
		public string Keywords { 
		    get{
		        return _Keywords;
		    } 
		    set{
		        this.OnKeywordsChanging(value);
                this.SendPropertyChanging();
                this._Keywords = value;
                this.SendPropertyChanged("Keywords");
                this.OnKeywordsChanged();
		    }
		}
		
        partial void OnDescriptionChanging(string value);
        partial void OnDescriptionChanged();
		
		private string _Description;
		public string Description { 
		    get{
		        return _Description;
		    } 
		    set{
		        this.OnDescriptionChanging(value);
                this.SendPropertyChanging();
                this._Description = value;
                this.SendPropertyChanged("Description");
                this.OnDescriptionChanged();
		    }
		}
		
        partial void OnSortOrderChanging(short? value);
        partial void OnSortOrderChanged();
		
		private short? _SortOrder;
		public short? SortOrder { 
		    get{
		        return _SortOrder;
		    } 
		    set{
		        this.OnSortOrderChanging(value);
                this.SendPropertyChanging();
                this._SortOrder = value;
                this.SendPropertyChanged("SortOrder");
                this.OnSortOrderChanged();
		    }
		}
		
        partial void OnRemoteUrlChanging(string value);
        partial void OnRemoteUrlChanged();
		
		private string _RemoteUrl;
		public string RemoteUrl { 
		    get{
		        return _RemoteUrl;
		    } 
		    set{
		        this.OnRemoteUrlChanging(value);
                this.SendPropertyChanging();
                this._RemoteUrl = value;
                this.SendPropertyChanged("RemoteUrl");
                this.OnRemoteUrlChanged();
		    }
		}
		
        partial void OnIsLockedChanging(bool value);
        partial void OnIsLockedChanged();
		
		private bool _IsLocked;
		public bool IsLocked { 
		    get{
		        return _IsLocked;
		    } 
		    set{
		        this.OnIsLockedChanging(value);
                this.SendPropertyChanging();
                this._IsLocked = value;
                this.SendPropertyChanged("IsLocked");
                this.OnIsLockedChanged();
		    }
		}
		
        partial void OnAllowPostWithInChanging(bool value);
        partial void OnAllowPostWithInChanged();
		
		private bool _AllowPostWithIn;
		public bool AllowPostWithIn { 
		    get{
		        return _AllowPostWithIn;
		    } 
		    set{
		        this.OnAllowPostWithInChanging(value);
                this.SendPropertyChanging();
                this._AllowPostWithIn = value;
                this.SendPropertyChanged("AllowPostWithIn");
                this.OnAllowPostWithInChanged();
		    }
		}
		
        partial void OnModerateTypeChanging(short value);
        partial void OnModerateTypeChanged();
		
		private short _ModerateType;
		public short ModerateType { 
		    get{
		        return _ModerateType;
		    } 
		    set{
		        this.OnModerateTypeChanging(value);
                this.SendPropertyChanging();
                this._ModerateType = value;
                this.SendPropertyChanged("ModerateType");
                this.OnModerateTypeChanged();
		    }
		}
		
        partial void OnAllowRolesChanging(string value);
        partial void OnAllowRolesChanged();
		
		private string _AllowRoles;
		public string AllowRoles { 
		    get{
		        return _AllowRoles;
		    } 
		    set{
		        this.OnAllowRolesChanging(value);
                this.SendPropertyChanging();
                this._AllowRoles = value;
                this.SendPropertyChanged("AllowRoles");
                this.OnAllowRolesChanged();
		    }
		}
		
        partial void OnVisibleAtHomePageChanging(bool value);
        partial void OnVisibleAtHomePageChanged();
		
		private bool _VisibleAtHomePage;
		public bool VisibleAtHomePage { 
		    get{
		        return _VisibleAtHomePage;
		    } 
		    set{
		        this.OnVisibleAtHomePageChanging(value);
                this.SendPropertyChanging();
                this._VisibleAtHomePage = value;
                this.SendPropertyChanged("VisibleAtHomePage");
                this.OnVisibleAtHomePageChanged();
		    }
		}
		
        partial void OnTotalTopicsChanging(long value);
        partial void OnTotalTopicsChanged();
		
		private long _TotalTopics;
		public long TotalTopics { 
		    get{
		        return _TotalTopics;
		    } 
		    set{
		        this.OnTotalTopicsChanging(value);
                this.SendPropertyChanging();
                this._TotalTopics = value;
                this.SendPropertyChanged("TotalTopics");
                this.OnTotalTopicsChanged();
		    }
		}
		
        partial void OnTotalRepliesChanging(long value);
        partial void OnTotalRepliesChanged();
		
		private long _TotalReplies;
		public long TotalReplies { 
		    get{
		        return _TotalReplies;
		    } 
		    set{
		        this.OnTotalRepliesChanging(value);
                this.SendPropertyChanging();
                this._TotalReplies = value;
                this.SendPropertyChanged("TotalReplies");
                this.OnTotalRepliesChanged();
		    }
		}
		
        partial void OnLastPostIdChanging(int? value);
        partial void OnLastPostIdChanged();
		
		private int? _LastPostId;
		public int? LastPostId { 
		    get{
		        return _LastPostId;
		    } 
		    set{
		        this.OnLastPostIdChanging(value);
                this.SendPropertyChanging();
                this._LastPostId = value;
                this.SendPropertyChanged("LastPostId");
                this.OnLastPostIdChanged();
		    }
		}
		
        partial void OnLastPostTitleChanging(string value);
        partial void OnLastPostTitleChanged();
		
		private string _LastPostTitle;
		public string LastPostTitle { 
		    get{
		        return _LastPostTitle;
		    } 
		    set{
		        this.OnLastPostTitleChanging(value);
                this.SendPropertyChanging();
                this._LastPostTitle = value;
                this.SendPropertyChanged("LastPostTitle");
                this.OnLastPostTitleChanged();
		    }
		}
		
        partial void OnLastPostDateChanging(DateTime? value);
        partial void OnLastPostDateChanged();
		
		private DateTime? _LastPostDate;
		public DateTime? LastPostDate { 
		    get{
		        return _LastPostDate;
		    } 
		    set{
		        this.OnLastPostDateChanging(value);
                this.SendPropertyChanging();
                this._LastPostDate = value;
                this.SendPropertyChanged("LastPostDate");
                this.OnLastPostDateChanged();
		    }
		}
		
        partial void OnLastUserPostChanging(string value);
        partial void OnLastUserPostChanged();
		
		private string _LastUserPost;
		public string LastUserPost { 
		    get{
		        return _LastUserPost;
		    } 
		    set{
		        this.OnLastUserPostChanging(value);
                this.SendPropertyChanging();
                this._LastUserPost = value;
                this.SendPropertyChanged("LastUserPost");
                this.OnLastUserPostChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_UsersActions table in the Main Database.
    /// This class is queryable through MainDB.UsersAction 
    /// </summary>

	public partial class UsersAction: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public UsersAction(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnSessionIdChanging(string value);
        partial void OnSessionIdChanged();
		
		private string _SessionId;
		public string SessionId { 
		    get{
		        return _SessionId;
		    } 
		    set{
		        this.OnSessionIdChanging(value);
                this.SendPropertyChanging();
                this._SessionId = value;
                this.SendPropertyChanged("SessionId");
                this.OnSessionIdChanged();
		    }
		}
		
        partial void OnUserIdChanging(int? value);
        partial void OnUserIdChanged();
		
		private int? _UserId;
		public int? UserId { 
		    get{
		        return _UserId;
		    } 
		    set{
		        this.OnUserIdChanging(value);
                this.SendPropertyChanging();
                this._UserId = value;
                this.SendPropertyChanged("UserId");
                this.OnUserIdChanged();
		    }
		}
		
        partial void OnUserNameChanging(string value);
        partial void OnUserNameChanged();
		
		private string _UserName;
		public string UserName { 
		    get{
		        return _UserName;
		    } 
		    set{
		        this.OnUserNameChanging(value);
                this.SendPropertyChanging();
                this._UserName = value;
                this.SendPropertyChanged("UserName");
                this.OnUserNameChanged();
		    }
		}
		
        partial void OnIPChanging(string value);
        partial void OnIPChanged();
		
		private string _IP;
		public string IP { 
		    get{
		        return _IP;
		    } 
		    set{
		        this.OnIPChanging(value);
                this.SendPropertyChanging();
                this._IP = value;
                this.SendPropertyChanged("IP");
                this.OnIPChanged();
		    }
		}
		
        partial void OnLoginChanging(DateTime? value);
        partial void OnLoginChanged();
		
		private DateTime? _Login;
		public DateTime? Login { 
		    get{
		        return _Login;
		    } 
		    set{
		        this.OnLoginChanging(value);
                this.SendPropertyChanging();
                this._Login = value;
                this.SendPropertyChanged("Login");
                this.OnLoginChanged();
		    }
		}
		
        partial void OnLastActionChanging(DateTime value);
        partial void OnLastActionChanged();
		
		private DateTime _LastAction;
		public DateTime LastAction { 
		    get{
		        return _LastAction;
		    } 
		    set{
		        this.OnLastActionChanging(value);
                this.SendPropertyChanging();
                this._LastAction = value;
                this.SendPropertyChanged("LastAction");
                this.OnLastActionChanged();
		    }
		}
		
        partial void OnPageTitleChanging(string value);
        partial void OnPageTitleChanged();
		
		private string _PageTitle;
		public string PageTitle { 
		    get{
		        return _PageTitle;
		    } 
		    set{
		        this.OnPageTitleChanging(value);
                this.SendPropertyChanging();
                this._PageTitle = value;
                this.SendPropertyChanged("PageTitle");
                this.OnPageTitleChanged();
		    }
		}
		
        partial void OnLocationChanging(string value);
        partial void OnLocationChanged();
		
		private string _Location;
		public string Location { 
		    get{
		        return _Location;
		    } 
		    set{
		        this.OnLocationChanging(value);
                this.SendPropertyChanging();
                this._Location = value;
                this.SendPropertyChanged("Location");
                this.OnLocationChanged();
		    }
		}
		
        partial void OnForumIdChanging(int? value);
        partial void OnForumIdChanged();
		
		private int? _ForumId;
		public int? ForumId { 
		    get{
		        return _ForumId;
		    } 
		    set{
		        this.OnForumIdChanging(value);
                this.SendPropertyChanging();
                this._ForumId = value;
                this.SendPropertyChanged("ForumId");
                this.OnForumIdChanged();
		    }
		}
		
        partial void OnTopicIdChanging(int? value);
        partial void OnTopicIdChanged();
		
		private int? _TopicId;
		public int? TopicId { 
		    get{
		        return _TopicId;
		    } 
		    set{
		        this.OnTopicIdChanging(value);
                this.SendPropertyChanging();
                this._TopicId = value;
                this.SendPropertyChanged("TopicId");
                this.OnTopicIdChanged();
		    }
		}
		
        partial void OnBrowserChanging(string value);
        partial void OnBrowserChanged();
		
		private string _Browser;
		public string Browser { 
		    get{
		        return _Browser;
		    } 
		    set{
		        this.OnBrowserChanging(value);
                this.SendPropertyChanging();
                this._Browser = value;
                this.SendPropertyChanged("Browser");
                this.OnBrowserChanged();
		    }
		}
		
        partial void OnPlatformChanging(string value);
        partial void OnPlatformChanged();
		
		private string _Platform;
		public string Platform { 
		    get{
		        return _Platform;
		    } 
		    set{
		        this.OnPlatformChanging(value);
                this.SendPropertyChanging();
                this._Platform = value;
                this.SendPropertyChanged("Platform");
                this.OnPlatformChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_Statistics table in the Main Database.
    /// This class is queryable through MainDB.Statistic 
    /// </summary>

	public partial class Statistic: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public Statistic(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnIDChanging(byte value);
        partial void OnIDChanged();
		
		private byte _ID;
		public byte ID { 
		    get{
		        return _ID;
		    } 
		    set{
		        this.OnIDChanging(value);
                this.SendPropertyChanging();
                this._ID = value;
                this.SendPropertyChanged("ID");
                this.OnIDChanged();
		    }
		}
		
        partial void OnCreatedChanging(DateTime value);
        partial void OnCreatedChanged();
		
		private DateTime _Created;
		public DateTime Created { 
		    get{
		        return _Created;
		    } 
		    set{
		        this.OnCreatedChanging(value);
                this.SendPropertyChanging();
                this._Created = value;
                this.SendPropertyChanged("Created");
                this.OnCreatedChanged();
		    }
		}
		
        partial void OnTotalUsersOnlineChanging(int? value);
        partial void OnTotalUsersOnlineChanged();
		
		private int? _TotalUsersOnline;
		public int? TotalUsersOnline { 
		    get{
		        return _TotalUsersOnline;
		    } 
		    set{
		        this.OnTotalUsersOnlineChanging(value);
                this.SendPropertyChanging();
                this._TotalUsersOnline = value;
                this.SendPropertyChanged("TotalUsersOnline");
                this.OnTotalUsersOnlineChanged();
		    }
		}
		
        partial void OnGuestsChanging(int? value);
        partial void OnGuestsChanged();
		
		private int? _Guests;
		public int? Guests { 
		    get{
		        return _Guests;
		    } 
		    set{
		        this.OnGuestsChanging(value);
                this.SendPropertyChanging();
                this._Guests = value;
                this.SendPropertyChanged("Guests");
                this.OnGuestsChanged();
		    }
		}
		
        partial void OnTotalUsersChanging(int? value);
        partial void OnTotalUsersChanged();
		
		private int? _TotalUsers;
		public int? TotalUsers { 
		    get{
		        return _TotalUsers;
		    } 
		    set{
		        this.OnTotalUsersChanging(value);
                this.SendPropertyChanging();
                this._TotalUsers = value;
                this.SendPropertyChanged("TotalUsers");
                this.OnTotalUsersChanged();
		    }
		}
		
        partial void OnTotalTopicsChanging(int? value);
        partial void OnTotalTopicsChanged();
		
		private int? _TotalTopics;
		public int? TotalTopics { 
		    get{
		        return _TotalTopics;
		    } 
		    set{
		        this.OnTotalTopicsChanging(value);
                this.SendPropertyChanging();
                this._TotalTopics = value;
                this.SendPropertyChanged("TotalTopics");
                this.OnTotalTopicsChanged();
		    }
		}
		
        partial void OnTotalPostsChanging(int? value);
        partial void OnTotalPostsChanged();
		
		private int? _TotalPosts;
		public int? TotalPosts { 
		    get{
		        return _TotalPosts;
		    } 
		    set{
		        this.OnTotalPostsChanging(value);
                this.SendPropertyChanging();
                this._TotalPosts = value;
                this.SendPropertyChanged("TotalPosts");
                this.OnTotalPostsChanged();
		    }
		}
		
        partial void OnNewPostsInPast24HoursChanging(int? value);
        partial void OnNewPostsInPast24HoursChanged();
		
		private int? _NewPostsInPast24Hours;
		public int? NewPostsInPast24Hours { 
		    get{
		        return _NewPostsInPast24Hours;
		    } 
		    set{
		        this.OnNewPostsInPast24HoursChanging(value);
                this.SendPropertyChanging();
                this._NewPostsInPast24Hours = value;
                this.SendPropertyChanged("NewPostsInPast24Hours");
                this.OnNewPostsInPast24HoursChanged();
		    }
		}
		
        partial void OnNewTopicsInPast24HoursChanging(int? value);
        partial void OnNewTopicsInPast24HoursChanged();
		
		private int? _NewTopicsInPast24Hours;
		public int? NewTopicsInPast24Hours { 
		    get{
		        return _NewTopicsInPast24Hours;
		    } 
		    set{
		        this.OnNewTopicsInPast24HoursChanging(value);
                this.SendPropertyChanging();
                this._NewTopicsInPast24Hours = value;
                this.SendPropertyChanged("NewTopicsInPast24Hours");
                this.OnNewTopicsInPast24HoursChanged();
		    }
		}
		
        partial void OnNewUsersInPast24HoursChanging(int? value);
        partial void OnNewUsersInPast24HoursChanged();
		
		private int? _NewUsersInPast24Hours;
		public int? NewUsersInPast24Hours { 
		    get{
		        return _NewUsersInPast24Hours;
		    } 
		    set{
		        this.OnNewUsersInPast24HoursChanging(value);
                this.SendPropertyChanging();
                this._NewUsersInPast24Hours = value;
                this.SendPropertyChanged("NewUsersInPast24Hours");
                this.OnNewUsersInPast24HoursChanged();
		    }
		}
		
        partial void OnNewestUserIDChanging(string value);
        partial void OnNewestUserIDChanged();
		
		private string _NewestUserID;
		public string NewestUserID { 
		    get{
		        return _NewestUserID;
		    } 
		    set{
		        this.OnNewestUserIDChanging(value);
                this.SendPropertyChanging();
                this._NewestUserID = value;
                this.SendPropertyChanged("NewestUserID");
                this.OnNewestUserIDChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_TopicThanks table in the Main Database.
    /// This class is queryable through MainDB.TopicThank 
    /// </summary>

	public partial class TopicThank: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public TopicThank(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnTopicIdChanging(int value);
        partial void OnTopicIdChanged();
		
		private int _TopicId;
		public int TopicId { 
		    get{
		        return _TopicId;
		    } 
		    set{
		        this.OnTopicIdChanging(value);
                this.SendPropertyChanging();
                this._TopicId = value;
                this.SendPropertyChanged("TopicId");
                this.OnTopicIdChanged();
		    }
		}
		
        partial void OnUserIdChanging(int value);
        partial void OnUserIdChanged();
		
		private int _UserId;
		public int UserId { 
		    get{
		        return _UserId;
		    } 
		    set{
		        this.OnUserIdChanging(value);
                this.SendPropertyChanging();
                this._UserId = value;
                this.SendPropertyChanged("UserId");
                this.OnUserIdChanged();
		    }
		}
		
        partial void OnCreatedChanging(DateTime value);
        partial void OnCreatedChanged();
		
		private DateTime _Created;
		public DateTime Created { 
		    get{
		        return _Created;
		    } 
		    set{
		        this.OnCreatedChanging(value);
                this.SendPropertyChanging();
                this._Created = value;
                this.SendPropertyChanged("Created");
                this.OnCreatedChanged();
		    }
		}
		
        partial void OnUserNameChanging(string value);
        partial void OnUserNameChanged();
		
		private string _UserName;
		public string UserName { 
		    get{
		        return _UserName;
		    } 
		    set{
		        this.OnUserNameChanging(value);
                this.SendPropertyChanging();
                this._UserName = value;
                this.SendPropertyChanged("UserName");
                this.OnUserNameChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_Users table in the Main Database.
    /// This class is queryable through MainDB.User 
    /// </summary>

	public partial class User: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public User(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnUserIdChanging(int value);
        partial void OnUserIdChanged();
		
		private int _UserId;
		public int UserId { 
		    get{
		        return _UserId;
		    } 
		    set{
		        this.OnUserIdChanging(value);
                this.SendPropertyChanging();
                this._UserId = value;
                this.SendPropertyChanged("UserId");
                this.OnUserIdChanged();
		    }
		}
		
        partial void OnRoleIdChanging(int? value);
        partial void OnRoleIdChanged();
		
		private int? _RoleId;
		public int? RoleId { 
		    get{
		        return _RoleId;
		    } 
		    set{
		        this.OnRoleIdChanging(value);
                this.SendPropertyChanging();
                this._RoleId = value;
                this.SendPropertyChanged("RoleId");
                this.OnRoleIdChanged();
		    }
		}
		
        partial void OnUserNameChanging(string value);
        partial void OnUserNameChanged();
		
		private string _UserName;
		public string UserName { 
		    get{
		        return _UserName;
		    } 
		    set{
		        this.OnUserNameChanging(value);
                this.SendPropertyChanging();
                this._UserName = value;
                this.SendPropertyChanged("UserName");
                this.OnUserNameChanged();
		    }
		}
		
        partial void OnPwdChanging(string value);
        partial void OnPwdChanged();
		
		private string _Pwd;
		public string Pwd { 
		    get{
		        return _Pwd;
		    } 
		    set{
		        this.OnPwdChanging(value);
                this.SendPropertyChanging();
                this._Pwd = value;
                this.SendPropertyChanged("Pwd");
                this.OnPwdChanged();
		    }
		}
		
        partial void OnEmailChanging(string value);
        partial void OnEmailChanged();
		
		private string _Email;
		public string Email { 
		    get{
		        return _Email;
		    } 
		    set{
		        this.OnEmailChanging(value);
                this.SendPropertyChanging();
                this._Email = value;
                this.SendPropertyChanged("Email");
                this.OnEmailChanged();
		    }
		}
		
        partial void OnFullNameChanging(string value);
        partial void OnFullNameChanged();
		
		private string _FullName;
		public string FullName { 
		    get{
		        return _FullName;
		    } 
		    set{
		        this.OnFullNameChanging(value);
                this.SendPropertyChanging();
                this._FullName = value;
                this.SendPropertyChanged("FullName");
                this.OnFullNameChanged();
		    }
		}
		
        partial void OnSignatureChanging(string value);
        partial void OnSignatureChanged();
		
		private string _Signature;
		public string Signature { 
		    get{
		        return _Signature;
		    } 
		    set{
		        this.OnSignatureChanging(value);
                this.SendPropertyChanging();
                this._Signature = value;
                this.SendPropertyChanged("Signature");
                this.OnSignatureChanged();
		    }
		}
		
        partial void OnAvatarChanging(string value);
        partial void OnAvatarChanged();
		
		private string _Avatar;
		public string Avatar { 
		    get{
		        return _Avatar;
		    } 
		    set{
		        this.OnAvatarChanging(value);
                this.SendPropertyChanging();
                this._Avatar = value;
                this.SendPropertyChanged("Avatar");
                this.OnAvatarChanged();
		    }
		}
		
        partial void OnRegDateChanging(DateTime value);
        partial void OnRegDateChanged();
		
		private DateTime _RegDate;
		public DateTime RegDate { 
		    get{
		        return _RegDate;
		    } 
		    set{
		        this.OnRegDateChanging(value);
                this.SendPropertyChanging();
                this._RegDate = value;
                this.SendPropertyChanged("RegDate");
                this.OnRegDateChanged();
		    }
		}
		
        partial void OnLastLoginChanging(DateTime value);
        partial void OnLastLoginChanged();
		
		private DateTime _LastLogin;
		public DateTime LastLogin { 
		    get{
		        return _LastLogin;
		    } 
		    set{
		        this.OnLastLoginChanging(value);
                this.SendPropertyChanging();
                this._LastLogin = value;
                this.SendPropertyChanged("LastLogin");
                this.OnLastLoginChanged();
		    }
		}
		
        partial void OnTotalVisitsChanging(int value);
        partial void OnTotalVisitsChanged();
		
		private int _TotalVisits;
		public int TotalVisits { 
		    get{
		        return _TotalVisits;
		    } 
		    set{
		        this.OnTotalVisitsChanging(value);
                this.SendPropertyChanging();
                this._TotalVisits = value;
                this.SendPropertyChanged("TotalVisits");
                this.OnTotalVisitsChanged();
		    }
		}
		
        partial void OnTotalPostsChanging(int value);
        partial void OnTotalPostsChanged();
		
		private int _TotalPosts;
		public int TotalPosts { 
		    get{
		        return _TotalPosts;
		    } 
		    set{
		        this.OnTotalPostsChanging(value);
                this.SendPropertyChanging();
                this._TotalPosts = value;
                this.SendPropertyChanged("TotalPosts");
                this.OnTotalPostsChanged();
		    }
		}
		
        partial void OnThanksReceivedChanging(int? value);
        partial void OnThanksReceivedChanged();
		
		private int? _ThanksReceived;
		public int? ThanksReceived { 
		    get{
		        return _ThanksReceived;
		    } 
		    set{
		        this.OnThanksReceivedChanging(value);
                this.SendPropertyChanging();
                this._ThanksReceived = value;
                this.SendPropertyChanged("ThanksReceived");
                this.OnThanksReceivedChanged();
		    }
		}
		
        partial void OnThanksSentChanging(int? value);
        partial void OnThanksSentChanged();
		
		private int? _ThanksSent;
		public int? ThanksSent { 
		    get{
		        return _ThanksSent;
		    } 
		    set{
		        this.OnThanksSentChanging(value);
                this.SendPropertyChanging();
                this._ThanksSent = value;
                this.SendPropertyChanged("ThanksSent");
                this.OnThanksSentChanged();
		    }
		}
		
        partial void OnIsActivedChanging(bool value);
        partial void OnIsActivedChanged();
		
		private bool _IsActived;
		public bool IsActived { 
		    get{
		        return _IsActived;
		    } 
		    set{
		        this.OnIsActivedChanging(value);
                this.SendPropertyChanging();
                this._IsActived = value;
                this.SendPropertyChanged("IsActived");
                this.OnIsActivedChanged();
		    }
		}
		
        partial void OnActiveCodeChanging(string value);
        partial void OnActiveCodeChanged();
		
		private string _ActiveCode;
		public string ActiveCode { 
		    get{
		        return _ActiveCode;
		    } 
		    set{
		        this.OnActiveCodeChanging(value);
                this.SendPropertyChanging();
                this._ActiveCode = value;
                this.SendPropertyChanged("ActiveCode");
                this.OnActiveCodeChanged();
		    }
		}
		
        partial void OnSexChanging(byte? value);
        partial void OnSexChanged();
		
		private byte? _Sex;
		public byte? Sex { 
		    get{
		        return _Sex;
		    } 
		    set{
		        this.OnSexChanging(value);
                this.SendPropertyChanging();
                this._Sex = value;
                this.SendPropertyChanged("Sex");
                this.OnSexChanged();
		    }
		}
		
        partial void OnBirthdayChanging(DateTime? value);
        partial void OnBirthdayChanged();
		
		private DateTime? _Birthday;
		public DateTime? Birthday { 
		    get{
		        return _Birthday;
		    } 
		    set{
		        this.OnBirthdayChanging(value);
                this.SendPropertyChanging();
                this._Birthday = value;
                this.SendPropertyChanged("Birthday");
                this.OnBirthdayChanged();
		    }
		}
		
        partial void OnAddressChanging(string value);
        partial void OnAddressChanged();
		
		private string _Address;
		public string Address { 
		    get{
		        return _Address;
		    } 
		    set{
		        this.OnAddressChanging(value);
                this.SendPropertyChanging();
                this._Address = value;
                this.SendPropertyChanged("Address");
                this.OnAddressChanged();
		    }
		}
		
        partial void OnYahooIdChanging(string value);
        partial void OnYahooIdChanged();
		
		private string _YahooId;
		public string YahooId { 
		    get{
		        return _YahooId;
		    } 
		    set{
		        this.OnYahooIdChanging(value);
                this.SendPropertyChanging();
                this._YahooId = value;
                this.SendPropertyChanged("YahooId");
                this.OnYahooIdChanged();
		    }
		}
		
        partial void OnSkypeIdChanging(string value);
        partial void OnSkypeIdChanged();
		
		private string _SkypeId;
		public string SkypeId { 
		    get{
		        return _SkypeId;
		    } 
		    set{
		        this.OnSkypeIdChanging(value);
                this.SendPropertyChanging();
                this._SkypeId = value;
                this.SendPropertyChanged("SkypeId");
                this.OnSkypeIdChanged();
		    }
		}
		
        partial void OnMSNChanging(string value);
        partial void OnMSNChanged();
		
		private string _MSN;
		public string MSN { 
		    get{
		        return _MSN;
		    } 
		    set{
		        this.OnMSNChanging(value);
                this.SendPropertyChanging();
                this._MSN = value;
                this.SendPropertyChanged("MSN");
                this.OnMSNChanged();
		    }
		}
		
        partial void OnAOLChanging(string value);
        partial void OnAOLChanged();
		
		private string _AOL;
		public string AOL { 
		    get{
		        return _AOL;
		    } 
		    set{
		        this.OnAOLChanging(value);
                this.SendPropertyChanging();
                this._AOL = value;
                this.SendPropertyChanged("AOL");
                this.OnAOLChanged();
		    }
		}
		
        partial void OnWebsiteChanging(string value);
        partial void OnWebsiteChanged();
		
		private string _Website;
		public string Website { 
		    get{
		        return _Website;
		    } 
		    set{
		        this.OnWebsiteChanging(value);
                this.SendPropertyChanging();
                this._Website = value;
                this.SendPropertyChanged("Website");
                this.OnWebsiteChanged();
		    }
		}
		
        partial void OnBlogChanging(string value);
        partial void OnBlogChanged();
		
		private string _Blog;
		public string Blog { 
		    get{
		        return _Blog;
		    } 
		    set{
		        this.OnBlogChanging(value);
                this.SendPropertyChanging();
                this._Blog = value;
                this.SendPropertyChanged("Blog");
                this.OnBlogChanged();
		    }
		}
		
        partial void OnGalleryChanging(string value);
        partial void OnGalleryChanged();
		
		private string _Gallery;
		public string Gallery { 
		    get{
		        return _Gallery;
		    } 
		    set{
		        this.OnGalleryChanging(value);
                this.SendPropertyChanging();
                this._Gallery = value;
                this.SendPropertyChanged("Gallery");
                this.OnGalleryChanged();
		    }
		}
		
        partial void OnTimeZoneChanging(double value);
        partial void OnTimeZoneChanged();
		
		private double _TimeZone;
		public double TimeZone { 
		    get{
		        return _TimeZone;
		    } 
		    set{
		        this.OnTimeZoneChanging(value);
                this.SendPropertyChanging();
                this._TimeZone = value;
                this.SendPropertyChanged("TimeZone");
                this.OnTimeZoneChanged();
		    }
		}
		
        partial void OnSkinPathChanging(string value);
        partial void OnSkinPathChanged();
		
		private string _SkinPath;
		public string SkinPath { 
		    get{
		        return _SkinPath;
		    } 
		    set{
		        this.OnSkinPathChanging(value);
                this.SendPropertyChanging();
                this._SkinPath = value;
                this.SendPropertyChanged("SkinPath");
                this.OnSkinPathChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
    
    
    /// <summary>
    /// A class which represents the MF_Roles table in the Main Database.
    /// This class is queryable through MainDB.Role 
    /// </summary>

	public partial class Role: INotifyPropertyChanging, INotifyPropertyChanged
	{
        partial void OnLoaded();
        partial void OnValidate(System.Data.Linq.ChangeAction action);
        partial void OnCreated();
	    
	    public Role(){
	        OnCreated();
	    }
	    
	    #region Properties
	    
        partial void OnRoleIdChanging(int value);
        partial void OnRoleIdChanged();
		
		private int _RoleId;
		public int RoleId { 
		    get{
		        return _RoleId;
		    } 
		    set{
		        this.OnRoleIdChanging(value);
                this.SendPropertyChanging();
                this._RoleId = value;
                this.SendPropertyChanged("RoleId");
                this.OnRoleIdChanged();
		    }
		}
		
        partial void OnRoleNameChanging(string value);
        partial void OnRoleNameChanged();
		
		private string _RoleName;
		public string RoleName { 
		    get{
		        return _RoleName;
		    } 
		    set{
		        this.OnRoleNameChanging(value);
                this.SendPropertyChanging();
                this._RoleName = value;
                this.SendPropertyChanged("RoleName");
                this.OnRoleNameChanged();
		    }
		}
		
        partial void OnIsAutoStartChanging(bool? value);
        partial void OnIsAutoStartChanged();
		
		private bool? _IsAutoStart;
		public bool? IsAutoStart { 
		    get{
		        return _IsAutoStart;
		    } 
		    set{
		        this.OnIsAutoStartChanging(value);
                this.SendPropertyChanging();
                this._IsAutoStart = value;
                this.SendPropertyChanged("IsAutoStart");
                this.OnIsAutoStartChanged();
		    }
		}
		
        partial void OnIsAdminChanging(bool value);
        partial void OnIsAdminChanged();
		
		private bool _IsAdmin;
		public bool IsAdmin { 
		    get{
		        return _IsAdmin;
		    } 
		    set{
		        this.OnIsAdminChanging(value);
                this.SendPropertyChanging();
                this._IsAdmin = value;
                this.SendPropertyChanged("IsAdmin");
                this.OnIsAdminChanged();
		    }
		}
		
        partial void OnCssClassChanging(string value);
        partial void OnCssClassChanged();
		
		private string _CssClass;
		public string CssClass { 
		    get{
		        return _CssClass;
		    } 
		    set{
		        this.OnCssClassChanging(value);
                this.SendPropertyChanging();
                this._CssClass = value;
                this.SendPropertyChanged("CssClass");
                this.OnCssClassChanged();
		    }
		}
		
        partial void OnAccessMaskChanging(string value);
        partial void OnAccessMaskChanged();
		
		private string _AccessMask;
		public string AccessMask { 
		    get{
		        return _AccessMask;
		    } 
		    set{
		        this.OnAccessMaskChanging(value);
                this.SendPropertyChanging();
                this._AccessMask = value;
                this.SendPropertyChanged("AccessMask");
                this.OnAccessMaskChanged();
		    }
		}
		
        partial void OnAllowLoginChanging(bool value);
        partial void OnAllowLoginChanged();
		
		private bool _AllowLogin;
		public bool AllowLogin { 
		    get{
		        return _AllowLogin;
		    } 
		    set{
		        this.OnAllowLoginChanging(value);
                this.SendPropertyChanging();
                this._AllowLogin = value;
                this.SendPropertyChanged("AllowLogin");
                this.OnAllowLoginChanged();
		    }
		}
		

        #endregion

        #region Foreign Keys
        #endregion


        private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
        public event PropertyChangingEventHandler PropertyChanging;
        public event PropertyChangedEventHandler PropertyChanged;
        protected virtual void SendPropertyChanging()
        {
            var handler = PropertyChanging;
            if (handler != null)
               handler(this, emptyChangingEventArgs);
        }

        protected virtual void SendPropertyChanged(String propertyName)
        {
            var handler = PropertyChanged;
            if (handler != null)
                handler(this, new PropertyChangedEventArgs(propertyName));
        }

	}
	
}